Gin框架(十一):验证器Validator使用 您所在的位置:网站首页 validate 中午呢 Gin框架(十一):验证器Validator使用

Gin框架(十一):验证器Validator使用

2024-05-24 18:40| 来源: 网络整理| 查看: 265

package mainimport ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" "github.com/go-playground/validator/v10" "net/http" "time")// 定义结构体type User struct { Name string `form:"name" binding:"required,min=3,max=5" ` BirthDate time.Time `form:"date" binding:"required,birth" time_format:"2006-01-02"`}

// 运行程序func main() { engine := gin.Default() // 注册自定义验证标签:birth if validate,ok := binding.Validator.Engine().(*validator.Validate);ok { validate.RegisterValidation("birth",checkBirthDate) } // 接收请求 engine.GET("/valid", func(context *gin.Context) { var user User // 集成验证 err := context.ShouldBindQuery(&user) if err != nil { context.JSON(http.StatusBadRequest,gin.H{"error":err.Error()}) return } context.JSON(http.StatusOK,gin.H{"msg":"success"}) }) _ = engine.Run()}// 检测生日func checkBirthDate(fl validator.FieldLevel) bool { t,ok := fl.Field().Interface().(time.Time) if ok { // 当前时间应该大于生日时间 if time.Now().After(t) { return true } } return false}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有